1. Field of the Invention
The present invention relates to a Border Gateway Protocol (BGP) and, more particularly, to an apparatus for distributively processing a BGP and the method thereof.
2. Description of the Related Art
Generally, a router uses a routing protocol in order to transmit an Internet Protocol (IP) datagram correctly, and a BGP is a scheme for exchanging routing information between Autonomous Systems (ASs) among the routing protocols.
Hereinafter, the routing protocol will be explained in order to assist in understanding the BGP.
A general routing protocol is substantially divided into an Interior Gateway Protocol (IGP) and an Exterior Gateway Protocol(EGP).
IGP is a routing protocol used in a domain, and representative protocols for IGP currently used in IPv4 include a Routing Information Protocol (RIP), an Open Shortest Path First (OSPF), an Intermediate System to Intermediate System (IS-IS), and so on.
The EGP is a protocol used to exchange routing information between different domains, especially between ASs, and representative protocols for EGP used in Ipv4 include the BGP, and so on. While the EGP transmits the routing information between two or more ASs, the IGP transmits the routing information in one AS. Accordingly, there is a lot of traffic in the BGP since the BGP transmits routing information from one AS to another AS.
Generally, a BGP router has a central processing unit for all routers, in which BGP functions are mainly processed.
A BGP router system is composed of a number of BGP routers to N existing externally, and a BGP router corresponding to a server. The BGP router may include a central processing unit.
The central processing unit manages all external BGP routers to N, processes an update of routing information according to an INPUT policy when the update occurs, determines the best route, and transmits the updated information to the external BGP routers according to an OUTPUT policy.
The INPUT policy is a policy for receiving packets, and it has a filtering function wherein, when an address of a receiving (input) packet is included in an access list after referring to the list, it is determined that the packet is transmitted to the corresponding router, and when the receiving packet is not included in the access list, it is determined that the packet is not transmitted and discarded. The INPUT policy also has a route map function for selecting the shortest path to transmit a packet and for processing a mapping for the selected path, and a damping function for determining whether or not the receiving packet is transmitted in accordance with a threshold value when a flapping occurs. The damping function is a processing function wherein, in the case wherein a threshold value is 10 seconds, when a router turns on and off repeatedly at intervals of 10 seconds or less, a packet is not transmitted via the route connected to the router.
The OUTPUT policy is a policy for output packets contrary to the INPUT policy, and it has a filtering function wherein it is determined which router of an address is used to transmit the packet, or not to transmit the output packet so as to discard it, and a route map function for selecting the shortest path through which to transmit a packet and for processing a mapping for the selected path.
More detailed descriptions of the processes are as follows. When a BGP router receives BGP packets, a central processing unit performs an INPUT process for receiving information, and updates its database. It performs an OUTPUT process in order to transmit the updated information to its peer (another party to receive a packet).
Since the central processing unit performs session management functions with all external BGP routers, when the system capacity is enlarged, the number of external BGP routers is increased so that the extent of the system enlargement has to be limited. That is, as the BGP routers are added, connections between the central processing unit and the BGP routers are increased, and the central processing unit bears a substantial load so that the system performance is debased.
Especially, while flapping (a state in which a router turns on and off repeatedly) often occurs in the router in view of a characteristic of the BGP, many performances are needed for processing a damping when the flapping occurs in a router or tasks in accordance with INPUT/OUTPUT policies.
As a result, in the case wherein the central processing unit performs all BGP processes in accordance with the conventional art, the more the router has connection lines, the more the central processing unit has tasks to process, so that unexpected system trouble occur when designing a large capacity router. Also, since a certain amount of information is frequently exchanged in the BGP in order to exchange routing information between one AS and another AS, there is a problem in that it is not easy to enlarge the scale of the system.
The following patents are considered to be generally pertinent to the present invention, but are burdened by the disadvantages set forth above: U.S. Pat. No. 6,658,000 to Raciborski et al., entitled SELECTIVE ROUTING, issued on Dec. 2, 2003; U.S. Pat. No. 6,636,895 to Li et al., entitled SYSTEM, DEVICE, AND METHOD FOR DISTRIBUTING MULTICAST ROUTING INFORMATION IN A PROTOCOL INDEPENDENT MULTICAST NETWORK, issued on Oct. 21, 2003; U.S. Pat. No. 6,611,872 to McCanne, entitled PERFORMING MULTICAST COMMUNICATION IN COMPUTER NETWORKS BY USING OVERLAY ROUTING, issued on Aug. 26, 2003; U.S. Pat. No. 6,526,054 to Li et al., entitled SYSTEM, DEVICE AND METHOD TRANSITIONING FROM DVMRP TO BGMP FOR INTERDOMAIN MULTICAST ROUTING OVER THE INTERNET MULTICAST BACKBONE, issued on Feb. 25, 2003; U.S. Pat. No. 6,505,255 to Akatsu et al., entitled METHOD FOR FORMATTING AND ROUTING DATA BETWEEN AN EXTERNAL NETWORK AND AN INTERNAL NETWORK, issued on Jan. 7, 2003; U.S. Pat. No. 6,487,172 to Zonoun, entitled PACKET NETWORK ROUTE SELECTION METHOD AND APPARATUS USING A BIDDING ALGORITHM, issued on Nov. 26, 2002; U.S. Pat. No. 6,084,859 to Ratcliff et al., entitled INTERNET PROTOCOL ASSISTS USING MULTI-PATH CHANNEL PROTOCOL, issued on Jul. 4, 2000; U.S. Pat. No. 6,078,963 to Civanlar et al., entitled ROUTER WITH DE-CENTRALIZED PROCESSING USING INTELLIGENT PORTS, issued on Jun. 20, 2000; U.S. Pat. No. 6,055,561 to Feldman et al., entitled MAPPING OF ROUTING TRAFFIC TO SWITCHING NETWORKS, issued on Apr. 25, 2000; and U.S. Pat. No. 6,006,261 to Ratcliff et al., entitled INTERNET PROTOCOL ASSISTS USING MULTI-PATH CHANNEL PROTOCOL, issued on Dec. 21, 1999.